package settings

import (
	"fmt"

	"github.com/fsnotify/fsnotify"
	"github.com/spf13/viper"
)

func init() {
	InitUser()
}

/**
生成个人配置
*/
func InitUser() (err error) {
	viper.SetConfigName("user")
	viper.SetConfigType("json")
	viper.AddConfigPath("./conf/")
	err = viper.ReadInConfig()
	if err != nil {
		if _, ok := err.(viper.ConfigFileNotFoundError); ok {
			fmt.Println("user找不到配置文件..")
		} else {
			fmt.Println("user配置文件出错..")
		}
		return err
	}
	fmt.Println(viper.GetString("json_app") + " json res:")
	return nil
}

//加载全局配置
func Init() (err error) {
	viper.SetConfigFile("./conf/user.json")
	viper.SetConfigName("config")
	viper.SetConfigType("yaml")
	viper.AddConfigPath("./conf/")
	err = viper.ReadInConfig()
	if err != nil {
		if _, ok := err.(viper.ConfigFileNotFoundError); ok {
			fmt.Println("找不到配置文件..")
		} else {
			fmt.Println("配置文件出错..")
		}
		return err
	}

	viper.WatchConfig()
	viper.OnConfigChange(func(in fsnotify.Event) {
		fmt.Println("配置文件修改了")
	})
	return nil
}
